//
//  Area.h
//  AntSimulation
//
//  Created by Robert Mayr on 24.10.12.
//  Copyright (c) 2012 Robert Mayr. All rights reserved.
//

#ifndef __AntSimulation__Area__
#define __AntSimulation__Area__

#include <iostream>
#include <list>
#include "Item.h"
#include "Details.h"

class Area : public Details {
    
public:
    Area();
    ~Area(void);
    Area* get_east();
    Area* get_west();
    Area* get_north();
    Area* get_south();
    void set_east(Area* pArea);
    void set_west(Area* pArea);
    void set_north(Area* pArea);
    void set_south(Area* pArea);
    void AddToListFront(Item*);
    void AddToListBack(Item*);
    void RemoveFromListFront();
    void RemoveFromListBack();
    void PrintInfo();
    void PrintViewable(char cWhat);
    
    void act();
    
private:
    Area* east;
    Area* west;
    Area* north;
    Area* south;
    std::list<Item*> items;
    
};

#endif /* defined(__AntSimulation__Area__) */
